Orbital Maneuvers
This scenario contains an 80kg satellite with a single 100N thruster (exaggerated to show quick concepts). The purpose of this example scenario is to demonstrate 6DOF simulation capabilities and provide some advanced FlightJAS sequences.
Notice on the SOLIS Configuration page that the "Use ODySSy Translational Dynamics" box is selected. This indicates that SOLIS is now in charge of orbit propagation, which is then fed to STK via the RealTime propagator.
Delta-V Thruster
On the Actuators page, a single thruster is configured with a nozzle direction of [0 0 -1] in the BDY frame. This thruster will be used to raise the orbit from a 300km circular orbit. It is intentionally large to emphasize certain dynamics in a shorter period of time.
Sequences
There are 5 sequences included in this scenario on the Mission Sequence page. Notice that the "BurnEvent" sequence is displayed in italics, indicating that this sequence was developed in the Raw Sequence Editor and does not have a counterpart on the Sequence Editor tab. All the other sequence were developed from the Sequence Editor.
The Execution List kicks-off the "DisplayAltitude" sequence and then the "PrepareAccelBurn" sequence; these run in-parallel. After the "PrepareAccelBurn" sequence is completed, the "PrepareDecelBurn" is executed. This Execution List will cause a slew to an increasing-energy burn orientation and fire the thruster 5 times for 10 seconds each. It then slews to the anti-velocity direction and performs 5 more burns for 10 seconds each.
Sequence Name | Description |
---|---|
BurnEvent | This sequence contains a couple FlightJAS features that are not available when using the Sequence Editor.
Known Issue. When using the Raw Sequence Editor or the Raw Code section of the Sequence Editor, the return key will stop going to the next line if you have used Control-C at any point. To work around this, use Control-Return to go to the next line. |
DisplayAltitude | This sequence was generated from the Sequence Editor but contains a "Raw Code" block. This is essentially a way to write FlightJAS but still manage the sequence using the Sequence Editor. The purpose of this sequence is to display information about the spacecraft's altitude and eccentricity every 10 seconds. This is done using a FlightJAS WHILE loop. The TM() FlightJAS statement is used to check the telemetry value for the Altitude and Eccentricity, which is then displayed in a SHOW statement. TM() can be very useful for performing logic within FlightJAS where calculations based on various states of the system are desired. |
FiveBurns | This sequence is used to call the "BurnEvent" sequence 5 times. This is done using the Embed Sequence feature with "Times to Call" set at 5 and "Execution Delay" set to 90 seconds between calls. Notice that the "FiveBurns" sequence is gray and cannot be selected in the Embed Sequence editor. Embedding a sequence within itself would cause an infinite loop. |
PrepareAccelBurn | This sequence slews the spacecraft to the AccelBurn direction, sets the Thrust Control State (E_ThrusterControlState = 1 ) to manual control, and then calls the "FiveBurns" sequence. |
PrepareDecelBurn | This sequence slews the spacecraft to the DecelBurn direction, sets the Thrust Control State (E_ThrusterControlState = 1 ) to manual control, and then calls the "FiveBurns" sequence. |
Runtime Command History
Below we see the Command History showing the slew and burn commands issued by the various sequences above.
Runtime Output/Error
On the Output/Error tab shown below, we see the comments from the FlightJASSHOW
statements embedded in "BurnEvent" and "DisplayAltitude". Notice that the altitude starts at 300km with a near-zero eccentricity. After the first burn at 160 seconds, the altitude and the eccentricity start to increase. The eccentricity only changes for the first 10 seconds while the burn happens, while the altitude continues to increase given that the orbit is becoming more elliptical. At 520 seconds, the slew to the anti-velocity orientation commences. The burns after this point decreases the eccentricity and brings it back toward a circular orbit.Graphing Data
Several graphs are already setup in the STK Report and Graph Manager. In the plots below, we see the burns causing the orbit to change into an elliptical orbit. We also see the controller responding to the disturbance (there is a 0.1mm CG-offset on the Mass Properties). This offset is extremely small given the exaggerated thruster size relative to the spacecraft inertia. You can play with these values to observe various spacecraft dynamics and sensitivities to CG location.
Altitude and Eccentricity
Thrust
Pointing Error
Reaction Wheel Momentum